各アカウントで実施した IAM Access Analyzer のアーカイブ操作は組織管理の IAM Access Analyzer に影響を与えるのか調べてみた
こんにちは、大前です。
IAM Access Analyzer は Organizations 連携が可能となっており、これを利用する事で組織内のアカウントに対してアクセス可能な外部エンティティの検知や管理をより効率的に行う事ができます。
詳細は上記ブログ等を参照いただければと思いますが、絵にしてみると以下のようなイメージです。IAM Access Analyzer の管理アカウントには組織内のアカウントから検知結果が集まってきます。
一方で、組織全体として IAM Access Analyzer を利用するほか、各アカウント上でも個別に IAM Access Analyzer を利用する事ができます。各アカウントにある程度の運用を任せたい時などは、組織/各アカウント でそれぞれ IAM Access Analyzer を利用するケースもあるかと思います。この場合、同じエンティティ(IAM ロール等)に対する検知結果は組織/各アカウントの IAM Access Analyzer にそれぞれ表示される事になります。
IAM Access Analyzer は検知した結果をアーカイブしたり、もしくは事前にアーカイブルールを作成しておき、ルールに該当する結果は自動的にアーカイブする様な事ができますが、上記の様に複数の IAM Access Analyzer で同じエンティティに対する検知結果が存在する場合、どの様な動作になるのでしょうか。
先に結論
- 同じエンティティ(IAM ロールなど)に対する検知結果が 組織/個々のアカウント のアナライザーでそれぞれ出ている場合、あるアナライザー上で結果をアーカイブしても他のアナライザーの結果には影響しない
やってみた
前提条件
以下の条件で試してみました。
- 組織の IAM Access Analyzer 管理アカウント
- 組織に対するアナライザーを作成
- 組織内の子アカウント
- 自アカウントに対するアナライザーを作成
- 上記 2つのアナライザーに対して同じエンティティに対する結果が検知されている
「2252」から始まる AWS アカウント上の AWS SSO 用 IAM ロールに対して、IAM Access Analyzer の管理アカウントと子アカウントでそれぞれ同じ結果が検出されていることが確認できますので、この結果を使って今回は検証をしていきます。
この時、以下の 4パターンで各アカウントのアナライザー結果に対するアーカイブを実行し、影響の有無を確認してみます。
- 子アカウントで結果を手動アーカイブ
- 子アカウントでアーカイブルールによる自動アーカイブ
- 管理アカウントで結果を手動アーカイブ
- 管理アカウントでアーカイブルールによる自動アーカイブ
子アカウントで結果を手動アーカイブ
子アカウント側で 1つの結果を手動でアーカイブしてみます。
アーカイブ後、管理アカウント側のアナライザーを確認すると、子アカウント側でアーカイブした結果と同じエンティティに関連する結果は引き続き表示されたままでした。(念の為再スキャンも実施)
子アカウントでアーカイブルールによる自動アーカイブ
子アカウント側でアーカイブルールを作成し、該当する結果が自動でアーカイブされるようにしてみます。今回の検証では AWS SSO のロールが検出されているので、"AWSReservedSSO" が含まれるリソースは自動アーカイブされるようにルールを作成してみます。
アーカイブルール作成後に、対象の結果が全てアーカイブされていることを確認しました。
子アカウント側でアーカイブされた事を確認した後、管理アカウント側のアナライザーを確認すると、該当する結果は全て引き続き表示されたままでした。(念の為再スキャンも実施)
管理アカウントで結果を手動アーカイブ
続いて、管理アカウント側で手動で結果をアーカイブし、子アカウント側のアナライザーを確認してみました。
手順については上述の作業を行うアカウントが変わるだけなので省略しますが、結果としては子アカウント側のアナライザーへの影響はありませんでした。
管理アカウントでアーカイブルールによる自動アーカイブ
管理アカウント側でのアーカイブルールによる結果アーカイブについても同様に実施しましたが、同様に子アカウント側のアナライザーへの影響はありませんでした。
おわりに
複数の IAM Access Analyzer で同じ結果が表示されている時に、アーカイブ時の影響について調べてみました。今回は組織管理アカウントと子アカウントで調査しましたが、おそらく子アカウント同士であって影響はないものと考えられます。同じエンティティ起因の結果であってもアナライザー毎に結果 ID が異なる点からも、それぞれ独立したものと考えて良さそうです。
各アナライザー間でアーカイブによる影響がないため、組織管理アカウント側で IAM Access Analyzer を管理しつつ、子アカウント側では自由に IAM Access Analyzer を利用してもらう、といった運用を心配なく進められるかと思います。
以上、AWS 事業本部の大前でした。